Design Principles and Optimizations for High Performance ORBs
نویسندگان
چکیده
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. The IIOP uses the Common Data Representation transfer syntax to map CORBA Interface Definition Language (IDL) data types into a portable network format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of function call overhead, conventional implementations of IIOP protocols have yielded relatively poor performance over high-speed networks. To meet the demands of emerging distributed multimedia applications, however, CORBAcompliant ORBs must support interoperable and highly efficient IIOP implementations. In addition, real-time ORB’s must provide efficient and predictable demultiplexing of incoming requests. This paper describes the design principles and optimizations we are using to develop a high-performance implementation of CORBA called The ACE ORB (TAO). We provide two contributions to the study and design of highperformance, real-time CORBA endsystems. First, we empirically demonstrate the benefits of systematically applying protocol optimizations to a public domain implementation of IIOP from SunSoft. These optimizations include: optimizing for the common case; eliminating gratuitous waste; replacing general purpose methods with specialized, efficient ones; precomputing values; storing redundant state to speed up expensive operations; passing information between layers; and optimizing for better processor cache performance. The results of applying these optimizations to SunSoft IIOP improved its performance substantially for all data types. Second, we present an empirical study of demultiplexing strategies used by TAO’s real-time Object Adapter. This study compares the performance of (1) linear search, (2) perfect hashing, and (3) active demultiplexing for a wide range of target objects and operations.
منابع مشابه
Principles for Optimizing CORBA Internet Inter-ORB Protocol Performance
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. IIOP uses the Common Data Representation (CDR) transfer syntax to map OMG Interface Definition Language (IDL) data types into a portable network format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of function ca...
متن کاملArchitectures and patterns for developing high performance real-time ORB endsystems
Many types of applications can benefit from flexible and open middleware. CORBA is an emerging middleware standard for Object Request Brokers (ORBs) that simplifies the development of distributed applications and services. Experience with CORBA demonstrates that it is suitable for traditional RPC-style applications. However, the lack of performance optimizations and quality of service (QoS) fea...
متن کاملOptimizing the Performance of the CORBA Internet Inter-ORB Protocol Over ATM
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. The IIOP uses the Common Data Representation (CDR) transfer syntax to map CORBA Interface Definition Langauge (IDL) data types into a bi-canonical wire format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of func...
متن کاملOptimizing a CORBA IIOP Protocol Engine for Minimal Footprint Multimedia Systems
Communication software for hand-held devices must be flexible and efficient to deliver the necessary Quality of Service (QoS) to multimedia applications such as real-time audio and video, video on-demand, electronic mail and fax, and Internet telephony. CORBA Object Request Brokers (ORBs) are an emerging middleware standard targeted for distributed applications. The stringent memory constraints...
متن کاملMeasuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks
There is increasing demand to extend object-oriented middleware, such as OMG CORBA, to support applications with stringent quality of service (QoS) requirements. However, conventional CORBA Object Request Broker (ORB) implementations incur high latency and low scalability when used for performance-sensitive applications. These inefficiencies discourage developers from using CORBA for mission/li...
متن کامل